package cn.zhou.service;

import cn.zhou.entity.CommonResult;
import cn.zhou.entity.Payment;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @Description: 好比controller调用service    就会找到CLOUD-PAYMENT-SERVICE微服务下面的/payment/get/{id}这个地址。
 *
 *     这里就说明：
 *         PaymentFeignService接口加@FeignClient注解，完成Feign的包装调用。
 *         指明找哪个微服务上面的地址。
 *
 *     主启动类开启Feign，接口上使用FeignClient，结合使用。
 * @Author: zhou
 * @Date: Create in 7:51 2020/7/22
 */
@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE") //作为一个Feign功能绑定的的接口
public interface PaymentFeignService {

    @GetMapping(value = "/payment/get/{id}")
    public CommonResult getPaymentById(@PathVariable("id") Long id);

    @GetMapping(value = "/payment/feign/timeout")
    public String paymentFeignTimeout();

}
